
export default {

  // 时间年龄获得
  dateAge (i) {
    if (!i) return ''
    var date1 = new Date()
    var date2 = new Date(i * 1000)
    let now = `${date1.getFullYear()}/${date1.getMonth() + 1}/${date1.getDate()}`
    let theDate = `${date2.getFullYear()}/${date2.getMonth() + 1}/${date2.getDate()}`
    var date3 = new Date(now).getTime() - new Date(theDate).getTime()
    var days = Math.floor(date3 / (24 * 3600 * 1000))
    if (days <= 0) {
      var m = date2.getMinutes()
      m = m > 9 ? m : '0' + m
      return date2.getHours() + ':' + m
    }
    if (days === 1) {
      return '昨天'
    } else if (days < 5) {
      return days + '天前'
    } else {
      return (date2.getMonth() + 1) + '月' + date2.getDate() + '日'
    }
  },

  /**
   * 时间字符串展示(当天的 时分 11:50|昨天 11:50|2天前 11:50|3天前 11:50|4天前 11:50|更早：2016-08-06 11:50)
   * @param  {[String]} txt [时间戳]
   * @return {[String]}     [格式化后的时间]
   */
  dateStr (txt) {
    if (!txt) return ''
    var date1 = new Date()
    var date2 = new Date(parseInt(txt) * 1000)
    var m = date2.getMinutes()
    m = m > 9 ? m : '0' + m
    let hm = date2.getHours() + ':' + m
    let now = `${date1.getFullYear()}/${date1.getMonth() + 1}/${date1.getDate()}`
    let theDate = `${date2.getFullYear()}/${date2.getMonth() + 1}/${date2.getDate()}`
    var date3 = new Date(now).getTime() - new Date(theDate).getTime()
    var days = Math.floor(date3 / (24 * 3600 * 1000))
    if (days <= 0) {
      return hm
    }
    if (days === 1) {
      return '昨天 ' + hm
    } else if (days < 5) {
      return days + '天前 ' + hm
    } else {
      return `${date2.getFullYear()}-${date2.getMonth() + 1}-${date2.getDate()} ${hm}`
    }
  },

  /**
   * 对Date的扩展，将 Date 转化为指定格式的String
   * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
   * 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
   * 例子：
   * (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
   * (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
   * @param fmt[String] 需要格式化的时间
   * @return 格式化后的时间
   */
  formatDate (date, fmt) {
    if (!date) {
      return ''
    }
    let o = {
      'M+': date.getMonth() + 1, // 月份
      'd+': date.getDate(), // 日
      'h+': date.getHours(), // 小时
      'm+': date.getMinutes(), // 分
      's+': date.getSeconds(), // 秒
      'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
      'S': date.getMilliseconds() // 毫秒
    }
    if (/(y+)/.test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    for (var k in o) {
      if (new RegExp('(' + k + ')').test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
      }
    }
    return fmt
  },
  // 去除html
  subStr (text) {
    if (!text) return ''
    text = text.replace(/<[^>]+>/g, '')
    text = text.replace(/\s/g, '')
    let len = 0
    let key = 0
    for (var i = 0; i < text.length; i++) {
      if (text[i].match(/[^\x00-\xff]/g)) {
        len += 2
      } else {
        len++
      }
      if (len > 110) {
        key = i - 1
        break
      }
    }
    text = key === 0 ? text : text.substring(0, key) + '...'
    return text
  }
}
